package com.todo.sight.application.backend.service;

import com.todo.common.common.entity.response.BizPageResponse;
import com.todo.common.common.entity.response.BizResponse;
import com.todo.sight.application.iface.backend.request.*;
import com.todo.sight.application.iface.backend.response.CityInfoDetailResp;
import com.todo.sight.application.iface.backend.response.QueryCityInfoByConditionResp;
import org.springframework.web.multipart.MultipartFile;

/**
 * (CityInfo)表服务接口
 *
 * @author zhangwenxiang
 * @since 2024-03-04 00:19:44
 */
public interface CityInfoBackendService {

    /**
     * 新增城市信息
     *
     * @param req
     * @return
     */
    BizResponse<Boolean> insertCityInfo(InsertCityInfoReq req);

    /**
     * 根据主键更新城市信息
     *
     * @param req
     * @return
     */
    BizResponse<Boolean> updateCityInfoById(UpdateCityInfoReq req);

    /**
     * 根据主键删除城市信息
     *
     * @param req
     * @return
     */
    BizResponse<Boolean> removeCityInfoById(RemoveCityInfoByIdReq req);

    /**
     * 启禁用城市信息
     *
     * @param req
     * @return
     */
    BizResponse<Boolean> enableCityInfoById(EnableCityInfoByIdReq req);

    /**
     * 根据主键查询城市信息
     *
     * @param req
     * @return
     */
    BizResponse<CityInfoDetailResp> queryCityInfoById(QueryCityInfoByIdReq req);

    /**
     * 多条件查询城市信息列表
     *
     * @param req
     * @return
     */
    BizPageResponse<QueryCityInfoByConditionResp> queryCityInfoByCondition(QueryCityInfoByConditionReq req);

    /**
     * 批量excel导入
     *
     * @param file
     * @return
     */
    BizResponse<Long> batchInsertByExcel(MultipartFile file);
}
